Menu
×

Được chứng nhận

Ghi lại kiến ​​thức của bạn

Đăng nhập Đăng ký

Tạo Tài khoản Example.com.vn miễn phí để cải thiện trải nghiệm học tập của bạn

Người tìm đường và việc học của tôi

Theo dõi tiến độ học tập của bạn tại Example.com.vn và thu thập phần thưởng

Nâng cấp

Trở thành người dùng PLUS và mở khóa các tính năng mạnh mẽ (không có quảng cáo, lưu trữ, hỗ trợ, ..)

Bắt đầu từ đâu

Bạn không chắc chắn muốn bắt đầu từ đâu? Đi theo con đường được hướng dẫn của chúng tôi

Trình chỉnh sửa mã (Dùng thử)

Với trình chỉnh sửa mã trực tuyến của chúng tôi, bạn có thể chỉnh sửa mã và xem kết quả trong trình duyệt của mình

Video

Tìm hiểu những điều cơ bản về HTML qua video hướng dẫn thú vị và hấp dẫn

Mẫu

Chúng tôi đã tạo một loạt mẫu trang web đáp ứng mà bạn có thể sử dụng - miễn phí!

Web hosting

Lưu trữ trang web của riêng bạn và chia sẻ nó với mọi người với Example.com.vn Spaces

Tạo một máy chủ

Tạo máy chủ của riêng bạn bằng Python, PHP, React.js, Node.js, Java, C#, v.v.

Làm thế nào để

Bộ sưu tập lớn các đoạn mã cho HTML, CSS và JavaScript

Khung CSS

Xây dựng các trang web nhanh và phản hồi bằng cách sử dụng khung W3.CSS miễn phí của chúng tôi

Thống kê trình duyệt

Đọc xu hướng dài hạn của việc sử dụng trình duyệt

Tốc độ gõ

Kiểm tra tốc độ đánh máy của bạn

Đào tạo AWS

Tìm hiểu dịch vụ web của Amazon

Bộ chọn màu

Sử dụng công cụ chọn màu của chúng tôi để tìm các màu RGB, HEX và HSL khác nhau. Bánh xe màu hình tròn thể hiện sự chuyển màu trong quang phổ

Trò chơi mã

Trò chơi mã hóa W3Schools! Giúp linh miêu thu thập nón thông Logo Lynx

Đặt mục tiêu

Nhận hành trình học tập được cá nhân hóa dựa trên các kỹ năng và mục tiêu hiện tại của bạn

Bản tin

Tham gia bản tin của chúng tôi và có quyền truy cập vào nội dung độc quyền mỗi tháng

Việc làm

Thuê những tài năng công nghệ hàng đầu. Hợp lý hóa quy trình tuyển dụng của bạn để có đội ngũ phù hợp hoàn hảo

Lớp học

Hãy liên hệ để sử dụng Example.com.vn Plus và các chứng chỉ với tư cách là một tổ chức giáo dục

×
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP CÁCH W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS AN NINH MẠNG DỮ LIỆU KHOA HỌC

Chi nhánh Git


Làm việc với các nhánh Git

Trong Git, một branch là phiên bản mới/riêng biệt của kho lưu trữ chính.

Giả sử bạn có một dự án lớn và bạn cần cập nhật thiết kế trên đó.

Nó sẽ hoạt động như thế nào nếu không có và có Git:

Không có Git:

  • Tạo bản sao của tất cả các tệp có liên quan để tránh ảnh hưởng đến phiên bản trực tiếp
  • Bắt đầu làm việc với thiết kế và nhận thấy mã đó phụ thuộc vào mã trong các tệp khác, mã này cũng cần được thay đổi!
  • Tạo bản sao của các tập tin phụ thuộc. Đảm bảo rằng mọi phụ thuộc tệp đều tham chiếu đúng tên tệp
  • KHẨN CẤP! Có một lỗi không liên quan ở đâu đó khác trong dự án cần được sửa càng sớm càng tốt!
  • Lưu tất cả các tệp của bạn, ghi chú tên của các bản sao bạn đang làm việc
  • Xử lý lỗi không liên quan và cập nhật mã để sửa nó
  • Quay lại thiết kế và hoàn thành công việc ở đó
  • Sao chép mã hoặc đổi tên tệp để thiết kế cập nhật có trên phiên bản trực tiếp
  • (2 tuần sau bạn nhận ra lỗi không liên quan chưa được sửa ở bản thiết kế mới vì bạn đã chép file trước khi sửa)

Với Git:

  • Với nhánh mới tên là new-design, chỉnh sửa code trực tiếp mà không ảnh hưởng tới nhánh chính
  • KHẨN CẤP! Có một lỗi không liên quan ở đâu đó khác trong dự án cần được sửa càng sớm càng tốt!
  • Tạo một nhánh mới từ dự án chính có tên là sửa lỗi nhỏ
  • Sửa lỗi không liên quan và gộp nhánh sửa lỗi nhỏ với nhánh chính
  • Bạn quay lại nhánh thiết kế mới và hoàn thành công việc ở đó
  • Hợp nhất nhánh thiết kế mới với nhánh chính (được cảnh báo về việc sửa lỗi nhỏ mà bạn đang thiếu)

Các nhánh cho phép bạn làm việc trên các phần khác nhau của dự án mà không ảnh hưởng đến nhánh chính.

Khi công việc hoàn thành, một nhánh có thể được sáp nhập với dự án chính.

Bạn thậm chí có thể chuyển đổi giữa các nhánh và làm việc trên các dự án khác nhau mà không gây ảnh hưởng lẫn nhau.

Phân nhánh trong Git rất nhẹ và nhanh chóng!


Chi nhánh Git mới

Hãy thêm một số tính năng mới vào trang index.html của chúng tôi.

Chúng tôi đang làm việc trong kho lưu trữ cục bộ của mình và chúng tôi không muốn làm phiền hoặc có thể phá hỏng dự án chính.

Vì vậy, chúng tôi tạo một branch mới:

Ví dụ

 git branch hello-world-images

Bây giờ chúng tôi đã tạo một branch mới gọi là " hello-world-images "

Hãy xác nhận rằng chúng tôi đã tạo một branch mới:

Ví dụ

 git branch hello-world-images * master

Chúng ta có thể thấy nhánh mới có tên "hello-world-image", nhưng dấu * bên cạnh master chỉ rõ rằng chúng ta hiện đang ở trên branch đó.

checkout là lệnh được sử dụng để kiểm tra một branch . Di chuyển chúng ta từ branch hiện tại đến nhánh được chỉ định ở cuối lệnh:

Ví dụ

 git checkout hello-world-images Switched to branch 'hello-world-images'

Bây giờ chúng tôi đã chuyển không gian làm việc hiện tại của mình từ nhánh chính sang branch mới

Mở trình chỉnh sửa yêu thích của bạn và thực hiện một số thay đổi.

Trong ví dụ này, chúng tôi đã thêm một hình ảnh (img_hello_world.jpg) vào thư mục đang làm việc và một dòng mã trong tệp index.html :

Ví dụ

<!DOCTYPE html>
<html>
<head>
<title>Hello World!</title>
<link rel="stylesheet" href="bluestyle.css">
</head>
<body>

<h1>Hello world!</h1>
<div><img src="img_hello_world.jpg" alt="Hello World from Space"
style="width:100%;max-width:960px"></div>
<p>This is the first file in my new Git Repo.</p>
<p>A new line in our file!</p>

</body>
</html>

Chúng tôi đã thực hiện các thay đổi đối với một tệp và thêm một tệp mới vào thư mục làm việc (cùng thư mục với branch main ).

Bây giờ hãy kiểm tra trạng thái của branch hiện tại:

Ví dụ

 git status On branch hello-world-images Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git restore <file>..." to discard changes in working directory) modified: index.html Untracked files: (use "git add <file>..." to include in what will be committed) img_hello_world.jpg no changes added to commit (use "git add" and/or "git commit -a")

Vì vậy, hãy xem qua những gì xảy ra ở đây:

  • Có những thay đổi đối với chỉ mục.html của chúng tôi, nhưng tệp không được phân loại để commit
  • img_hello_world.jpg không được tracked

Vì vậy, chúng ta cần thêm cả hai tệp vào Môi trường dàn dựng cho branch này:

Ví dụ

 git add --all

Việc sử dụng --all thay vì tên tệp riêng lẻ sẽ Giai đoạn tất cả các tệp đã thay đổi (mới, sửa đổi và xóa).

Kiểm tra status của branch :

Ví dụ

 git status On branch hello-world-images Changes to be committed:  (use "git restore --staged <file>..." to unstage)    new file: img_hello_world.jpg    modified: index.html

Chúng tôi hài lòng với những thay đổi của chúng tôi. Vì vậy, chúng tôi sẽ cam kết chúng với branch :

Ví dụ

 git commit -m "Added image to Hello World" [hello-world-images 0312c55] Added image to Hello World 2 files changed, 1 insertion(+) create mode 100644 img_hello_world.jpg

Bây giờ chúng ta có một branch mới, khác với branch chính.

Lưu ý: Sử dụng tùy chọn -b khi checkout sẽ tạo một nhánh mới và chuyển đến nhánh đó nếu nó không tồn tại



Chuyển đổi giữa các chi nhánh

Bây giờ chúng ta hãy xem việc làm việc với các nhánh khác nhau nhanh chóng và dễ dàng như thế nào cũng như nó hoạt động tốt như thế nào.

Chúng tôi hiện đang ở chi nhánh hello-world-images . Chúng tôi đã thêm một hình ảnh vào nhánh này, vì vậy hãy liệt kê các tệp trong thư mục hiện tại:

Ví dụ

 ls README.md bluestyle.css img_hello_world.jpg index.html

Chúng ta có thể thấy tệp mới img_hello_world.jpg và nếu mở tệp html, chúng ta có thể thấy mã đã bị thay đổi. Tất cả đều như nó phải vậy.

Bây giờ hãy xem điều gì xảy ra khi chúng ta thay đổi nhánh thành master

Ví dụ

 git checkout master Switched to branch 'master'

Hình ảnh mới không phải là một phần của nhánh này. Liệt kê lại các tập tin trong thư mục hiện tại:

Ví dụ

 ls README.md bluestyle.css index.html

img_hello_world.jpg không còn ở đó nữa! Và nếu chúng ta mở tệp html, chúng ta có thể thấy mã được hoàn nguyên về trạng thái trước khi thay đổi.

Bạn có thấy làm việc với các nhánh dễ dàng như thế nào không? Và làm thế nào điều này cho phép bạn làm việc trên những thứ khác nhau?


Chi nhánh khẩn cấp

Bây giờ hãy tưởng tượng rằng chúng ta vẫn chưa hoàn thành xong với hello-world-images, nhưng chúng ta cần sửa lỗi trên master.

Tôi không muốn gây rối trực tiếp với chủ nhân và tôi không muốn gây rối với hình ảnh xin chào thế giới, vì nó vẫn chưa hoàn thành.

Vì vậy, chúng tôi tạo một nhánh mới để giải quyết trường hợp khẩn cấp:

Ví dụ

 git checkout -b emergency-fix Switched to a new branch 'emergency-fix'

Bây giờ chúng ta đã tạo một nhánh mới từ master và thay đổi thành nhánh đó. Chúng ta có thể yên tâm sửa lỗi mà không làm ảnh hưởng đến các nhánh khác.

Hãy sửa lỗi tưởng tượng của chúng tôi:

Ví dụ

<!DOCTYPE html>
<html>
<head>
<title>Hello World!</title>
<link rel="stylesheet" href="bluestyle.css">
</head>
<body>

<h1>Hello world!</h1>
<p>This is the first file in my new Git Repo.</p>
<p>This line is here to show how merging works.</p>

</body>
</html>

Chúng tôi đã thực hiện các thay đổi trong tệp này và chúng tôi cần đưa những thay đổi đó vào nhánh chính.

Kiểm tra trạng thái:

Ví dụ

 git status On branch emergency-fix Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git restore <file>..." to discard changes in working directory) modified: index.html no changes added to commit (use "git add" and/or "git commit -a")

giai đoạn tập tin và cam kết:

Ví dụ

 git add index.html git commit -m "updated index.html with emergency fix" [emergency-fix dfa79db] updated index.html with emergency fix 1 file changed, 1 insertion(+), 1 deletion(-)

Bây giờ chúng tôi đã có bản sửa lỗi sẵn sàng cho bản chính và chúng tôi cần hợp nhất hai nhánh.

Kiểm tra bản thân bằng các bài tập

Bài tập:

Tạo một nhánh mới gọi là hello-world-images :

git 

Bắt đầu bài tập


×

Liên hệ bán hàng

Nếu bạn muốn sử dụng dịch vụ của Example.com.vn với tư cách là một tổ chức giáo dục, nhóm hoặc doanh nghiệp, hãy gửi email cho chúng tôi:
[email được bảo vệ]

Báo cáo lỗi

Nếu bạn muốn báo cáo lỗi hoặc nếu bạn muốn đưa ra đề xuất, hãy gửi email cho chúng tôi:
[email được bảo vệ]

Example.com.vn được tối ưu hóa cho việc học tập và đào tạo. Các ví dụ có thể được đơn giản hóa để cải thiện khả năng đọc và học. Các hướng dẫn, tài liệu tham khảo và ví dụ liên tục được xem xét để tránh sai sót, nhưng chúng tôi không thể đảm bảo tính chính xác hoàn toàn của mọi nội dung. Trong khi sử dụng W3Schools, bạn đồng ý đã đọc và chấp nhận các điều khoản sử dụng , chính sách cookie và quyền riêng tư của chúng tôi.

Bản quyền 1999-2024 của Refsnes Data. Đã đăng ký Bản quyền. Example.com.vn được cung cấp bởi W3.CSS .